package com.linktel.productionLine.service;

import com.linktel.productionLine.common.ErrorCode;
import com.linktel.productionLine.dao.ProductionLineDao;
import com.linktel.productionLine.entity.ProductionLine;
import com.linktel.productionLine.entity.dto.productionLine.ProductionLineDTO;
import com.linktel.productionLine.exception.BusinessException;
import lombok.AllArgsConstructor;
import org.springframework.stereotype.Service;

import java.util.List;

/**
 * 对 产线 的操作
 *
 * @Author HuangJiaHui
 * @Date 2023/8/25 10:26
 */
@Service
@AllArgsConstructor
public class ProductionLineService {

    private ProductionLineDao productionLineDao;

    /**
     * 查询所有产线信息
     * @return 产线信息列表
     */
    public List<ProductionLineDTO> listProductionLine(Long commitUserId) {
        return productionLineDao.listProductionLine(commitUserId);
    }

    /**
     * 查询当前用户在月度计划前提下的，产线列表
     *
     * @param commitUserId 用户Id
     * @return 产线信息列表
     */
    public List<ProductionLineDTO> listProductionLineByMonthlyPlanning(Long commitUserId) {
        return productionLineDao.listProductionLineByMonthlyPlanning(commitUserId);
    }

    /**
     * 通过产线编码获取产线信息
     *
     * @param workLineCode
     * @return
     */
    public ProductionLine getByCode(String workLineCode) {
        if (workLineCode == null || "".equals(workLineCode)) {
            throw new BusinessException(ErrorCode.PARAMS_ERROR);
        }
        return productionLineDao.getByCode(workLineCode);
    }
}
